Digital cameras (image sensing devices) capable of capturing an image and converting the captured image to digital data through a simple operation have become widespread in recent years. When an image that has been captured by such a camera is printed as a photograph, the general practice is to load the digital image data representing the captured image into a personal computer temporarily, subject the data to image processing in the personal computer and then output the processed image data to a color printer, which proceeds to print the image.
Color printing systems and so-called print-direct (PD) printers have been developed recently. In a color printing system, an image can be printed by sending the digital image data directly from a digital camera to a color printer without the intermediary of a personal computer. In a PD printer, a memory card that has been inserted into a digital camera and stores captured images is inserted directly into a color printer, which proceeds to print the captured images that have been stored on the memory card.
Image data that has been stored in a digital camera generally is compressed according to the JPEG standard. The above-mentioned PD printer accepts the compressed image data as an input, stores the data in a buffer and then prints the data upon expanding it. As for means for achieving expansion in a case where compressed image data is input and then expanded and printed, see the specification of Japanese Patent Application Laid-Open No. 10-262249 “Method and Apparatus for Expanding Compressed Image Data”, by way of example. According to the disclosure, image data is extracted in MCUs (Minimum Coded Units) in an order other than that in which the data was stored as compressed image data. Use of this method is advantageous in that it is possible to reduce the memory size needed for image-data expansion processing without requiring the provision of one frame's worth of an image output buffer. That the disclosed invention will be effective is premised on a certain requisite, namely that the data read-out speed be sufficiently high. The reason for this is that if a sufficiently high access speed is attained, the speed at which image data is expanded and output will be little affected even though access to data on an MPU basis is performed frequently.
With the example of the prior art described above, however, the fact that access to image data in minimum coded units occurs frequently means that if the reading and seeking of image files and the like cannot be performed at high speed, then it will take too much time to achieve the printing of the image data. In other words, compressed image data is read once prior to expansion processing, coded-bit length information is obtained for every MCU in one frame and processing for expanding the compressed image is executed in minimum coded units in a predetermined order. As a consequence, access to the image data occurs randomly from the beginning to the end of the image data. Further, if the size of the image data exceeds the memory size of the PD printer, the final portion of the image data cannot be buffered merely by performing buffering from the beginning of the image data. When the part of the image data that exceeds the size of the buffer memory is printed, therefore, it becomes necessary to access the camera further in order to request and acquire the data needed. The effects of slow access speed become conspicuous.
This problem will be described in greater detail with reference to FIGS. 11 and 12.
FIG. 11 is a diagram illustrating the area (hatched portion) of an image memory in which image data exists in a case where JPEG data compressed in the order of raster scanning has been received in this order and expanded into an image. As shown in FIG. 11, image data that has been expanded into an image is such that length in the horizontal direction differs for each image. In order to limit the memory capacity of the printer and hold down product cost, the memory capacity of the image memory is set to be less than the capacity that is capable of storing all of the image data. In FIG. 11, the portion indicated at numeral 10000 is assumed to be the area in which data is capable of being stored in the image memory.
Further, in order to make it possible to print out a larger image while reducing the size of the apparatus by narrowing the range over which the printhead is scanned, use is made of a method of the kind shown in FIG. 11 in which the image is printed at right angles to a portrait-oriented image.
Accordingly, when image data indicated at 11000 is stored and expanded in the raster order, i.e., in the order of JPEG data, as shown in FIG. 12, the portion indicated at 11001 fits in the memory capacity of the image memory but the portion indicated at 11002 extends beyond this capacity and will not be stored. Since the scanning direction of the carriage (printhead) is vertical, the data portion indicated at 11004 within the data portion (the hatched portion: 11003+11004) printed by the initial scan of the printhead will not have been stored in the image memory. Owing to such print scanning, it becomes necessary to request the digital camera for the JPEG data that corresponds to the portion 11004 and to expand the image by acquiring and decoding this JPEG data. Such processing lengthens the time needed to print image data and results in an apparatus that is very difficult for the user to use.